-- vim.g.{name}: 全局变量
-- vim.b.{name}: 缓冲区变量
-- vim.w.{name}: 窗口变量
-- vim.bo.{option}: buffer-local 选项
-- vim.wo.{option}: window-local 选项

-- encoding
vim.g.encoding = "UTF-8"
vim.o.fileencoding = "utf-8"
-- jkhl 移动光标时周围保留行数
vim.o.scrolloff = 8
vim.o.sidescrolloff = 8
-- 行号设置
vim.wo.number = true
vim.wo.relativenumber = true
-- 设置行号栏宽度
vim.wo.numberwidth = 4
-- 高亮所在行和列
vim.wo.cursorline = true
vim.wo.cursorcolumn = true
-- 显示左侧图标指示列
vim.wo.signcolumn = "yes"
-- 右侧参考线，超过表示代码太长了
vim.wo.colorcolumn = "120"
-- 缩进设置
vim.o.tabstop = 4
vim.bo.tabstop = 4
vim.o.softtabstop = 4
vim.o.shiftround = true
-- << >> 时移动长度
vim.o.shiftwidth = 4
vim.bo.shiftwidth = 4
-- 空格替代tab
vim.o.expandtab = true
vim.bo.expandtab = true
vim.g.smarttab = true
-- 新行对齐当前行
vim.o.autoindent = true
vim.bo.autoindent = true
vim.o.smartindent = true
vim.o.cindent = true
-- 搜索大小写不敏感，除非包含大写
vim.o.ignorecase = true
vim.o.smartcase = true
-- 搜索高亮
vim.o.hlsearch = true
-- 边输入边搜索
vim.o.incsearch = true
-- 命令行高
vim.o.cmdheight = 1
-- 当文件被外部程序修改时自动加载
vim.o.autoread = true
vim.bo.autoread = true
-- 禁止折行
vim.wo.wrap = false
-- 当光标在行首尾时按左右可以跳到下一行
-- vim.o.whichwrap = "<,>,[,],h,l"
vim.cmd "set whichwrap+=<,>,[,],h,l"
-- 允许隐藏被修改过的buffer
vim.o.hidden = true
-- 鼠标支持
vim.o.mouse = "a"
-- 禁止创建备份文件
vim.o.backup = false
vim.o.writebackup = false
vim.o.swapfile = false
-- faster completion (4000ms default)
vim.o.updatetime = 300
-- 设置timeoutlen 为等待键盘快捷键连击时间，可根据需要设置
vim.o.timeoutlen = 500
-- split window 从下方和右方出现
vim.o.splitbelow = true
vim.o.splitright = true
-- 自动补全不自动选中
vim.g.completeopt = "menu,menuone,noselect,noinsert"
-- 样式
vim.o.termguicolors = true
vim.opt.termguicolors = true
-- 不可见字符的显示
-- vim.o.list = true
-- vim.o.listchars = "space:."
-- 补全增强
vim.o.wildmenu = true
-- Dont' pass messages to |ins-completin menu|
vim.o.shortmess = vim.o.shortmess .. 'c'
-- vim.opt.shortmess:append "c"
-- 补全最多显示10行
vim.o.pumheight = 10
-- 永远显示tabline
vim.o.showtabline = 4
-- 使用增强状态栏插件后，不再需要vim的模式提示
vim.o.showmode = false
-- allows neovim to access the system clipboard
vim.opt.clipboard = "unnamedplus"
-- the font used in graphical neovim applications
vim.g.guifont = "monospace:h17"
-- enable persistent undo
vim.o.undofile = true
-- When a bracket is inserted, briefly jump to the matching one.
vim.g.showmatch = true
vim.g.matchtime = 2

vim.cmd [[set iskeyword+=-]]
vim.cmd [[set formatoptions+=m]]
vim.cmd [[set formatoptions+=B]]
vim.cmd [[set formatoptions-=cro]] -- TODO: this doesn't seem to work

